package com.rygl.staff.domain;

import lombok.Data;

import java.util.Date;

@Data

public class StaffTransferLog {
    /**
     * 主键 ID，自增生成，唯一标识一条调动记录
     */
    private Long id;

    /**
     * 员工用户 ID，关联员工主表（staff.id）
     */
    private Long userId;

    /**
     * 原所属部门名称（调动前）
     */
    private String oldDepartment;

    /**
     * 新所属部门名称（调动后）
     */
    private String newDepartment;

    /**
     * 原岗位名称（调动前）
     */
    private String oldPosition;

    /**
     * 新岗位名称（调动后）
     */
    private String newPosition;

    /**
     * 原职级（如：P5、M1，调动前等级）
     */
    private String oldRank;

    /**
     * 新职级（如：P6、M2，调动后等级）
     */
    private String newRank;

    /**
     * 原工作城市（如：广州，调动前城市）
     */
    private String oldCity;

    /**
     * 新工作城市（如：深圳，调动后城市）
     */
    private String newCity;

    /**
     * 调动类型（如：岗位调整、跨部门调动、外派等）
     */
    private String transferType;

    /**
     * 生效日期，该调动记录正式生效的日期
     */
    private Date effectiveDate;

    /**
     * 调动原因或说明（支持较长文本说明）
     */
    private String reason;

    /**
     * 操作人姓名（执行或登记本次调动的人）
     */
    private String operator;

    /**
     * 操作时间（记录本条调动信息录入系统的时间）
     */
    private Date operationTime;

    /**
     * 员工信息对象（用于联表查询员工的姓名、工号等展示信息）
     * 非数据库字段，仅用于封装展示用途
     */
    private Staff staff;

}    